---
id: 5900f4b71000cf542c50ffca
title: 'Завдання 331: перехресні перевертання'
challengeType: 1
forumTopicId: 301989
dashedName: problem-331-cross-flips
---

# --description--

На квадратній гральній дошці розміщено N×N фішок. Кожна фішка має чорну і білу сторону.

На кожному ході ви можете обрати фішку та перевернути всі фішки в тих же рядах, тобто перевернуться $2 × N - 1$ фішок. Гра закінчується, коли всі диски перевернуті білою стороною догори. У прикладі продемонстровано гру на дошці 5×5.

<img class="img-responsive center-block" alt="анімація гри на дошці 5x5" src="https://cdn.freecodecamp.org/curriculum/project-euler/cross-flips.gif" style="background-color: white; padding: 10px;" />

Можна довести, що для завершення гри потрібно зробити мінімум 3 ходи.

Нижня ліва фішка на дошці $N×N$ має координати (0, 0), нижня права фішка має координати ($N - 1$,$0$), а верхня ліва фішка має координати ($0$,$N - 1$).

Нехай $C_N$ буде наступною конфігурацією на дошці розміром $N × N$: якщо фішка на ($x$, $y$) задовільняє $N - 1 \le \sqrt{x^2 + y^2} \lt N$, вона перевернута чорною стороною; в іншому випадку — білою. $C_5$ показано вище.

Нехай $T(N)$ буде мінімальною кількістю ходів, необхідних для завершення гри, починаючи з конфігурації $C_N$ або 0, якщо конфігурація $C_N$ нерозв’язна. Ми довели, що $T(5) = 3$. Також дано, що $T(10) = 29$ та $T(1\\,000) = 395\\,253$.

Знайдіть $\displaystyle \sum_{i = 3}^{31} T(2^i - i)$.

# --hints--

`crossFlips()` має повернути `467178235146843500`.

```js
assert.strictEqual(crossFlips(), 467178235146843500);
```

# --seed--

## --seed-contents--

```js
function crossFlips() {

  return true;
}

crossFlips();
```

# --solutions--

```js
// solution required
```
